import os
import sys

def get_database_path():
    # 统一使用用户数据目录，不区分开发和生产环境
    if os.name == 'nt':  # Windows
        # Windows: C:\Users\用户名\AppData\Local\EasyTool\app.db
        data_dir = os.path.join('D:\\', 'EasyTool')
    else:  # Linux/Mac
        # Linux/Mac: ~/.local/share/EasyTool/app.db
        data_dir = os.path.join(os.path.expanduser('~'), '.local', 'share', 'EasyTool')
    
    # 确保目录存在
    os.makedirs(data_dir, exist_ok=True)
    return os.path.join(data_dir, 'app.db')

class Config:
    # 基础配置
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard-to-guess-string'
    DEBUG = False
    TESTING = False
    
    SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
        'sqlite:///' + get_database_path()
    SQLALCHEMY_TRACK_MODIFICATIONS = False

class DevelopmentConfig(Config):
    DEBUG = True

class ProductionConfig(Config):
    DEBUG = False

# 配置字典
config = {
    'development': DevelopmentConfig,
    'production': ProductionConfig,
    'default': DevelopmentConfig
}